The number of radio devices has increased acceleratedly and it is expected that new technical fields (classes) will develop in a mobility technology. One of these fields is network mobility (NEMO) in which the entire network including nodes changes connection points as it stands. In a case in which the concept of host mobility supports is extended up to a network mobility support including nodes, a solution related to a moving network provides a mechanism which can reach a node in a mobile network with primary global address even when the mobile network makes a connection to the Internet through any connection point.
In IETF (Internet Engineering Task Force), a solution to network mobility disclosed in the following Non-Patent Document 1 is advancing at present. In the case of the network mobility (NEMO) support, each mobile network has a permanent home domain. In a case in which the mobile network is in connection to its own home network, a primary global address known as a home address (HoA) is allocated to a mobile router (MR) of the mobile network and a mobile network prefix is allocated to the mobile network. On the other hand, in a case in which the mobile network is remote from a home network, that is, when it is connected to a different foreign network, a temporary global address known as a care-of address (CoA) is commonly allocated to the mobile router. The idea of the mobile support is for, even in a case in which the mobile router is in connection with a different foreign network, enabling the delivery of packets at a node in that mobile network with an address composed of a mobile network prefix.
This idea is put into practice in a manner such that an entity known as a home agent (HA) is introduced into a home network. The mobile router registers a care-of address in the home agent through the use of a message known as binding update (BU). Thus, the home agent can generate a binding between a home address of the mobile router, a prefix of the mobile network and the care-of address. The home agent has a function to receive (intercept) a message addressed to the prefix of the mobile network and transfer a packet to the care-of address of the mobile router through the use of encapsulation of this packet (which signifies that one packet is put as a payload of a new packet and which is also known as packet tunneling).
IPv6 tunneling is the encapsulation of an inner IPv6 packet (inner packet) as the payload of an outer IPv6 packet (outer packet). This IPv6 tunneling is primarily defined in the following Non-Patent Document 2. The inner packet is sometimes referred to as a payload packet, and the outer packet is sometimes referred to as a tunnel packet. Moreover, the idea of using bi-directional tunnel between a mobile router and its home agent is also disclosed in, for example, the following Patent Document 1.
Although the employment of the bi-directional tunneling enables a network mobility support, there is a possibility of the occurrence of a routing loop. FIG. 1 is an illustration of a possible scenario of a routing loop (nesting loop). In FIG. 1, mobile routers (MR 110, MR 112, MR 114) are roaming in the Internet, and these mobile routers can form a tunneling loop.
In this case, the MR 110 is connected to the MR 112 as shown by a connection 120, the MR 112 is connected to the MR 114 as shown by a connection 122, and the MR 114 is connected to the MR 110 as shown by a connection 124. In a case in which one (for example, MR 110) of the mobile routers conducts the tunneling to the HA 140 to which it pertains, the MR 110 encapsulates a packet for the tunneling to the HA 140 and hands the packet over to the MR 112 which is an access router from the MR 110.
The MR 112 further encapsulates a packet for transferring to a home agent to which it pertains. Moreover, the packet is handed over to the MR 114 which also encapsulates the packet. Each of the mobile routers continuously adds a layer of the encapsulation one by one to the packet. This phenomenon is generally known as a routing loop. Still moreover, in the scenario related to the nesting (nesting state) of a plurality of mobile routers, it is also known as a nesting loop.
The routing loop is extremely undesirable because it consumes a network resource in a moment. Since a new hop limit filed is set in each of the packets encapsulated, the packet is forwarded infinitely in a routing loop of the mobile network. This will lose the effectiveness of the existing mechanism using a hop limit for the prevention of a routing loop.
Furthermore, an extra packet header is added to the packet by each encapsulation, which enlarges the size of the packet. The extreme enlargement of the packet size can cause the packet division (fragmentation). In consequence, a different packet (fragmented packet) will be introduced into a tunneling loop.
On the other hand, conventional techniques for solving the problems related to the routing loop have existed diversely. For example, the following Patent Document 2 discloses a general routing loop detecting method which tries to makes an estimation as to whether or not a routing loop has occurred, by employing a counter for counting the number of packets for a predetermined period of time for each hop number contained in an IP header.
In addition, there is a different conventional, technique for the prevention of a routing loop itself. For example, the following Patent Document 3 discloses a mobile ad-hoc routing method for the prevention of a routing loop. Still additionally, the following Patent Document 4 discloses a routing method using a spanning tree algorithm (universal tree algorithm) for the prevention of a routing loop with respect to layer 2 tunneling protocol (L2TP) or virtual private network (VPN). Yet additionally, the following Patent Document 5 discloses a technique of avoiding a loop, wherein a special option is embedded into a router advertisement message broadcasted by a mobile router for calculating a spanning tree topology of a mobile network in the mobile router.
Furthermore, with respect to a network mobility support, the following Non-Patent Document 3 discloses an extension technique in which each mobile router notifies an address of its own access router (there is a possibility that it is a mobile router) to the home agent, to which it pertains, through a binding update message. The address of this access router is inserted into the binding update message as a special option referred to as an access router option (ARO). Subsequently, a parent mobile router to which it pertains also transmits a binding update to the same home agent. This is based on the idea for optimizing a route. This route optimization enables the home agent to construct a series of addresses which pass for reaching the nested mobile router.
[Non-Patent Document 1] “NEMO Basic Support Protocol”, RFC 3963, January, 2005
[Non-Patent Document 2] “Generic Packet Tunneling in IPv6 Specification”, RFC 2473, December, 1998
[Non-Patent Document 3] “Securing Nested Tunnels, Optimization with Access Router Option”, Internet Draft: draft-ng-nemo-access-router-option-0.1. txt, July, 2004
[Patent Document 1] U.S. Pat. No. 6,636,498
[Patent Document 2] US patent application Ser. No. 2005/0063311
[Patent Document 3] US patent application Ser. No. 2004/0146007
[Patent Document 4] U.S. Pat. No. 6,765,881
[Patent Document 5] US patent application Ser. No. 2004/0032852
However, the method disclosed in Patent Document 1 is not suitable for a router which is made to conduct the processing on thousands of packets per second. Moreover, this method is not an actual loop detection algorithm but it is a finding method of estimating an indication of a routing loop.
Moreover, there is a problem which arises with the methods disclosed in Patent Documents 2 and 3 in that, particularly when the probability of the occurrence of a loop is quite low, the computational cost of deliberately preventing a loop is not justifiable. Therefore, a complete and complicated loop avoidance mechanism is not suitable for the tunneling protocol.
Still moreover, according to all the loop detecting methods disclosed as conventional techniques, a detection or avoidance of a loop is made by a node in the loop. Although such nodes correspond to mobile routers in a mobile network, the mobile routers usually have restrictions on computational capacity, power, memory resource and others. In a case in which a loop detection algorithm or loop avoidance algorithm is packaged in these nodes, there occurs an increase in load of the mobile router and a reduction in operating time of the mobile router.